package com.imooc.ecommerce.service;

import com.imooc.ecommerce.common.TableId;
import com.imooc.ecommerce.order.OrderInfo;
import com.imooc.ecommerce.vo.PageSimpleOrderDetail;

/**
 * <p>订单相关服务接口定义
 *
 * @author Yaxi.Zhang
 * @since 2022/11/16 20:05
 */
public interface IOrderService {

    /**
     * <p>下单(分布式事务): 创建订单 -> 扣减库存 -> 扣减余额 -> 创建物流信息(Stream + Kafka)
     */
    TableId createOrder(OrderInfo orderInfo);

    /**
     * <p>获取当前用户的订单信息: 带有分页
     */
    PageSimpleOrderDetail getSimpleOrderDetailByPage(int page);

}
